#ifndef TOOL_H
#define TOOL_H
#include <time.h>
#include <stdio.h>
#include <vector>
#include <iostream>
using namespace std;

const bool DEBUG = false;
#define LINE_SIZE 256     //一行的长度

#define TERMINALFREE 0
#define TERMINALBUSY 1
#define COLLECTFREE 0
#define COLLECTBUSY 1

#define HAND 0
#define SMARTWORK 1
#define SMARTSLEEP 2

class CTool
{
public:
    static CTool * GetInstance();

    //时间为hour:minute:second格式
    void GetRecentTime(char *);

    //日期为year-month-day格式
    void GetRecentDate(char *);

    //拿到n天前的日期，同样为year-month-day格式
    void GetDaysAgo(char *,int);

    //把char转换成int
    int ChartoInt(char);

    //把int转换成char
    int InttoChar(int);

    //求unsigned char数组的长度
    int StrlenUnsigned(unsigned char *);

    //将十进制数转换成对应的十六进制形式的string
    bool IntToString(const int & value, string & str);

    void Cleanup();

private:
    CTool();
    ~CTool();
    static CTool * Tool;
    //将十六进制转换char
    char HexToChar(const int & value);

};

#endif // TOOL_H
